Trigonometrické funkce
Popis
Sada funkcí vracející základní trigonometrické funkce. Konkrétně, počítají kosinus, sinus, tangens, arkuskosinus, arkussinus, arkustangens, a dvouargumentový arkustangens.
cospi(x), sinpi(x), a tanpi(x), počítají cos(pi*x), sin(pi*x), a tan(pi*x).
Použití
cos(x)
sin(x)
tan(x)
acos(x)
asin(x)
atan(x)
atan2(y, x)
cospi(x)
sinpi(x)
tanpi(x)
Argumenty
x, y
|
numerické nebo komplexní vektory.
|
Podrobnosti
Arctangent dvou argumentů atan2(y, x) vrací úhel mezi x-osou a vektorem z počátku do (x, y), např. pro pozitivní argumenty atan2(y, x) == atan(y/x).
Úhly jsou v radiánech, ne v stupních, pro standardní verze (např. pravý úhel je π/2), a v „půl-rotacích“ pro cospi atd.
cospi(x), sinpi(x), a tanpi(x) jsou přesné pro x hodnoty, které jsou násobky poloviny.
Všechny kromě atan2 jsou interní generické primitivní funkce: metody pro ně můžou být definovány individuálně nebo přes Math skupinové generikum.
Tyhle všechny jsou obaly systémových volání stejného jména (s předponou
c pro komplexní argumenty), kde jsou dostupny. (cospi,
sinpi, a tanpi jsou součástí C11 rozšíření a poskytnuty např. macOS a Solaris: kde se používá ještě nedostupné volání cos atd, se speciálními případy pro násobky poloviny.)
Hodnota
tanpi(0.5) je NaN. Nápodobně pro ostatní vstupy se zlomkovou částí 0.5.
Komplexní hodnoty
Pro inverzní trigonometrické funkce, oddělovací řezy jsou definovány jako v Abramowitz a Stegun, obrázek 4.4, strana 79.
Pro asin a acos existují dva řezy, oba podél reální osy: (-Inf, -1] a [1, Inf).
Pro atan existují dva řezy, oba podél čistě imaginární osy: (-1i*Inf, -1i] a [1i, 1i*Inf).
Chování na řezech sleduje C99 standard, který vyžaduje kontinuitu kolem koncového bodu proti směru hodinových ručiček.
Komplexní argumenty pro cospi, sinpi, a tanpi
ještě nejsou implementovány, a jsou „budoucím směrem“ ISO/IEC TS 18661-4.
S4 metody
Všechny kromě atan2 jsou S4 generické funkce: metody pro ně můžou být definovány individuálně nebo přes Math skupinové generikum.
Reference
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
The New S Language.
Wadsworth & Brooks/Cole.
Abramowitz, M. and Stegun, I. A. (1972). Handbook of
Mathematical Functions. New York: Dover.
Chapter 4. Elementary Transcendental Functions: Logarithmic,
Exponential, Circular and Hyperbolic Functions
Pro cospi, sinpi, a tanpi C11 extenze
ISO/IEC TS 18661-4:2015 (koncept na http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1950.pdf).
Příklady
x <- seq(-3, 7, by = 1/8)
tx <- cbind(x, cos(pi*x), cospi(x), sin(pi*x), sinpi(x),
tan(pi*x), tanpi(x), deparse.level=2)
op <- options(digits = 4, width = 90) # pro hezké formátování hlavy(tx)
tx[ (x %% 1) %in% c(0, 0.5) ,]
options(op)
|